package com.tzbank.bigdata.task;

import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.tzbank.bigdata.service.FtpAccountFrequentService;
import com.tzbank.bigdata.service.FtpCommonipService;
import com.tzbank.bigdata.service.FtpTradePeriodService;

import lombok.extern.slf4j.Slf4j;

/**
 * 大数据定时任务类
 * 
 * @author wangbin 2018-07-02
 */
@Slf4j
@Component
public class ScheduledTasks {

	private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	@Autowired
	private FtpAccountFrequentService ftpAccountFrequentService;
	@Autowired
	private FtpCommonipService ftpCommonipService;
	@Autowired
	private FtpTradePeriodService ftpTradePeriodService;

	/**
	 * 大数据 账户频度 定时任务
	 */
	@Scheduled(cron = "0 0/5 * * * ?")
	public void scheduledAccountFrequent() {
		log.info("大数据账户频度定时任务，每5分钟执行一次：", dateFormat.format(new Date()));
		Boolean bool = ftpAccountFrequentService.downAccountFile();
		if(bool) {
			log.info("执行大数据账户频度定时任务成功...");
		}else {
			log.info("执行大数据账户频度定时任务失败...");
		}
	}

	/**
	 * 大数据 常用IP 定时任务
	 */
	@Scheduled(cron = "0 0/5 * * * ?")
	public void scheduledCommonip() {
		log.info("大数据常用IP定时任务，每5分钟执行一次：", dateFormat.format(new Date()));
		Boolean bool = ftpCommonipService.downFile();
		if(bool) {
			log.info("执行大数据常用IP定时任务成功...");
		}else {
			log.info("执行大数据常用IP定时任务失败...");
		}
	}
	
	/**
	 * 大数据 交易时段 定时任务
	 */
	@Scheduled(cron = "0 0/5 * * * ?")
	public void scheduledTradePeriod() {
		log.info("大数据交易时段定时任务，每5分钟执行一次：", dateFormat.format(new Date()));
		Boolean bool = ftpTradePeriodService.downFile();
		if(bool) {
			log.info("执行大数据交易时段定时任务成功...");
		}else {
			log.info("执行大数据交易时段定时任务失败...");
		}
	}

}